package ComandosFuncionalidadEstado2;

import java.io.IOException;
import java.util.List;

import util.SocketManager;
import BaseDeDatos.ConsultasMedicion;
import ClasesBasicas.Medicion;
import ProcesarComandos.Procesable;
import Servidor.Peticion;

public class ComandoHistorico implements Procesable {

	@Override
	public void Procesar(String Comando, SocketManager socketManager,
			Peticion peticion) {
		String respuesta = "";
		String[] Array = Comando.split(" ");
		if (Array[0].equals("HISTORICO") && Array[1].equals("----")) {
			respuesta = "525 ERR Falta parametro id_sensor.";
		} else if (Array[0].equals("HISTORICO") && !Array[1].equals("----")) {
			List<Medicion> mediciones = ConsultasMedicion
					.getMediciones(Array[1]);
			if (mediciones == null) {
				respuesta = "524 ERR Sensor desconocido";
			} else {
				respuesta = "223 OK Lista de medidas.%%";
				for (int i = 0; i < mediciones.size(); i++) {
					Medicion actual = mediciones.get(i);
					respuesta = respuesta + actual.getFecha() + ";"
							+ actual.getHora() + ";" + actual.getLatitud()
							+ ";" + actual.getLongitud() + " %%";
				}
				respuesta = respuesta + "322 OK Lista finalizada.";
			}
		}
		try {
			System.out.println("Respuesta: " + respuesta);
			socketManager.Escribir(respuesta + CRLF);
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}
